package com.hengpeng.itfinbase.persist;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Enumerated;

import com.hengpeng.common.web.annotation.HtmlInput;
import com.hengpeng.common.web.annotation.HtmlInputType;
import com.hengpeng.itfinbase.en.RewardLevel;
import com.hengpeng.itfinbase.en.RewardType;
import com.hengpeng.itfinbase.en.RewardUseType;
import com.hengpeng.itfinbase.idAssign.AbstractAssign18IdEntity;

/**
 * 奖品信息表
 * 
 * @author weiyuan
 */
@Entity
public class Reward extends AbstractAssign18IdEntity {

    /**
     * 
     */
    private static final long serialVersionUID = -6976803970140937713L;
    /**
     * 奖品名称
     */
    private String rewardName;
    /**
     * 奖品类别
     */
    @Column(length = 20)
    @HtmlInput(label = "奖品类别", type = HtmlInputType.TEXT, nullable = true, index = 3, labelProperty = "text")
    @Enumerated(javax.persistence.EnumType.STRING)
    private RewardType rewardType;

    /**
     * 奖品值，-1代表前端用户指定
     */
    private String rewardVal;
    /**
     * 奖品使用返还方式
     */
    @Column(length = 20)
    @HtmlInput(label = "奖品使用返还方式", type = HtmlInputType.TEXT, nullable = true, index = 3, labelProperty = "text")
    @Enumerated(javax.persistence.EnumType.STRING)
    private RewardUseType rewardUseType;

    @Column(length = 20)
    @HtmlInput(label = "奖品等级", type = HtmlInputType.TEXT, nullable = true, index = 3, labelProperty = "text")
    @Enumerated(javax.persistence.EnumType.STRING)
    private RewardLevel rewardLevel;

    /**
     * 奖品使用期限，单位：天
     */
    private int deadLine;

    private Date createTime;

    private Date updateTime;

    public RewardLevel getRewardLevel() {
        return rewardLevel;
    }

    public void setRewardLevel(RewardLevel rewardLevel) {
        this.rewardLevel = rewardLevel;
    }

    public int getDeadLine() {
        return deadLine;
    }

    public void setDeadLine(int deadLine) {
        this.deadLine = deadLine;
    }

    public String getRewardName() {
        return rewardName;
    }

    public void setRewardName(String rewardName) {
        this.rewardName = rewardName;
    }

    public RewardType getRewardType() {
        return rewardType;
    }

    public void setRewardType(RewardType rewardType) {
        this.rewardType = rewardType;
    }

    public String getRewardVal() {
        return rewardVal;
    }

    public void setRewardVal(String rewardVal) {
        this.rewardVal = rewardVal;
    }

    public RewardUseType getRewardUseType() {
        return rewardUseType;
    }

    public void setRewardUseType(RewardUseType rewardUseType) {
        this.rewardUseType = rewardUseType;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

}
